package com.eian.boot.module.system.log.model.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 登录日志详情响应
 *
 * @author alex.meng
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "登录日志详情响应")
public class LoginLogDetailVO implements Serializable {

    @Schema(description = "日志ID")
    private Long id;

    @Schema(description = "链路追踪ID")
    private String traceId;

    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "登录账号")
    private String username;

    @Schema(description = "登录类型")
    private Integer loginType;

    @Schema(description = "登录状态：1-成功，0-失败")
    private Integer loginStatus;

    @Schema(description = "登录IP")
    private String loginIp;

    @Schema(description = "IP归属地")
    private String loginLocation;

    @Schema(description = "浏览器")
    private String browser;

    @Schema(description = "操作系统")
    private String os;

    @Schema(description = "用户代理")
    private String userAgent;

    @Schema(description = "提示消息")
    private String msg;

    @Schema(description = "登录令牌")
    private String token;

    @Schema(description = "会话ID")
    private String sessionId;

    @Schema(description = "登录时间")
    private LocalDateTime createdAt;
}


